From eaaa8ec56109140638d9ebb368ee339960486209 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 1 Oct 2007 06:39:00 +0100 Subject: [PATCH] xm: Print xend config via 'xm info --config'. Signed-off-by: Akio Takebe --- tools/python/xen/xm/main.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 25f7c4e1da..a546712b45 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -55,6 +55,9 @@ from xen.util.acmpolicy import ACM_LABEL_UNLABELED_DISPLAY import XenAPI +import inspect +from xen.xend import XendOptions +xoptions = XendOptions.instance() # getopt.gnu_getopt is better, but only exists in Python 2.3+. Use # getopt.getopt if gnu_getopt is not available. This will mean that options @@ -1595,7 +1598,31 @@ def xm_sched_credit(args): err(str(result)) def xm_info(args): - arg_check(args, "info", 0) + arg_check(args, "info", 0, 1) + + try: + (options, params) = getopt.gnu_getopt(args, 'c', ['config']) + except getopt.GetoptError, opterr: + err(opterr) + usage('info') + + show_xend_config = 0 + for (k, v) in options: + if k in ['-c', '--config']: + show_xend_config = 1 + + if show_xend_config: + for name, obj in inspect.getmembers(xoptions): + if not inspect.ismethod(obj): + if name == "config": + for x in obj[1:]: + if len(x) < 2: + print "%-38s: (none)" % x[0] + else: + print "%-38s:" % x[0], x[1] + else: + print "%-38s:" % name, obj + return if serverType == SERVER_XEN_API: -- 2.30.2